package com.hxkj.dao;

import com.hxkj.domain.po.Article;
import com.hxkj.domain.po.ArticleTags;
import com.platform.common.domain.annotation.EnableDataSource;

import java.util.List;

/**
* 数据操作接口
*
* @author: chenwei
* @version: 1.0
* @datetime: 2018-06-07 17:08:10
*
*/
public interface ArticleTagsDao {

    /**
    *
    * 根据主键查询ArticleTags对象
    *
    * @param id
    * @return ArticleTags对象
    */
    @EnableDataSource("slave")
    ArticleTags get(Long id);

    /**
    *
    * 根据查询条件查询符合条件的ArticleTags对象
    *
    * @param articleTags
    * @return 符合条件的ArticleTags对象List
    */
    @EnableDataSource("slave")
    List<ArticleTags> get(ArticleTags articleTags);

    /**
    *
    * 根据主键删除ArticleTags对象
    *
    * @param id
    * @return 影响条件数
    */
    int delete(Long id);

    /**
    *
    * 根据条件删除符合条件的ArticleTags对象
    *
    * @param articleTags
    * @return 影响条件数
    */
    int delete(ArticleTags articleTags);

    /**
    *
    * 插入ArticleTags对象
    *
    * @param articleTags
    * @return 影响条件数
    */
    int save(ArticleTags articleTags);

    /**
    *
    * 更新ArticleTags对象
    *
    * @param articleTags
    * @return 影响条件数
    */
    int update(ArticleTags articleTags);

    /**
    * @author Mr.zheng
    * @Description removerArticleTagsByTagsId 根据tags标签ID删除
    * @Date 19:33 2018/6/7
    * @Param [tagsId]
    * @return int
    **/
    int removeArticleTagsByTagsId(Long tagsId);


    /**
    * @author Mr.zheng
    * @Description getTagsArticle 根据tags标签获取文章列表
    * @Date 19:55 2018/7/2
    * @Param [articleTags]
    * @return java.util.List<com.hxkj.domain.po.Article>
    **/
    @EnableDataSource("slave")
    List<Article> getTagsArticle(ArticleTags articleTags);
}
